package org.jeecg.modules.yinsheng.command.quickpayment;

import java.io.Serializable;

import org.jeecg.modules.yinsheng.annotation.NotBlank;
import org.jeecg.modules.yinsheng.annotation.NotNull;
import org.jeecg.modules.yinsheng.annotation.Pattern;

/**
 * 
 * <P>创建订单和登记明细请求参数</P>
 * 
 * @version $Id$
 * @user zcw 2021年6月3日 上午10:38:56
 */
public class FastToPayMsgCommand implements Serializable {

	private static final long serialVersionUID = -6111034823259489517L;
	// 交易流水号(必填)
	@NotBlank(message = "交易流水号不能为空")
	private String tradeSn;

	// 交易金额（单位：元）(必填)
	@NotNull(message = "交易金额不能为空")
	@Pattern(regexp = "^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$", message = "交易金额格式不正确")
	private String amount;

	// 付款方银行账号(必填)
	@NotBlank(message = "付款方银行账号不能为空")
	private String payerBankAccountNo;

	// 快捷支付银行(行别)(必填)
	@NotBlank(message = "快捷支付银行不能为空")
	private String payerBankType;

	// 付款方银行账户类型(必填)
	@NotBlank(message = "付款方银行账户类型不能为空")
	private String payerBankAccountType;

	// 付款方银行户名(必填)
	@NotBlank(message = "付款方银行户名不能为空")
	private String payerBankAccountName;

	// 付款方银行名称(必填)
	@NotBlank(message = "付款方银行名称不能为空")
	private String payerBankName;

	// 付款银行绑定手机号(必填)
	@NotBlank(message = "付款银行绑定手机号不能为空")
	private String payerPhone;

	// 付款方证件类型(必填)
	@NotBlank(message = "付款方证件类型不能为空")
	private String payerCredentialType;

	// 付款方证件号码(必填)
	@NotBlank(message = "付款方证件号码不能为空")
	private String payerCredentialNo;

	// 是否为新卡绑定并支付(必填)
	@NotBlank(message = "是否为新卡绑定并支付不能为空")
	private String firstPay;

	// 是否继续进行快捷支付（fastPayFlag为N时，停止进行支付，只创建支付明细）(必填)
	@NotBlank(message = "是否继续进行快捷支付不能为空")
	private String fastPayFlag;

	// 卡片有效期（贷记卡必填）
	private String cardExprDt;

	// CVV码（贷记卡必填）
	private String cvv;

	// 商户类别码 备注：Mcc码（支持上传多个，多个用|分割）比如：5811|5812|5813(必填)
	private String mccs;

	// 第三方商户号 备注:商户自主上送渠道商户号
	private String thirdMercId;

	// 跨境付款人信息
	private String tradeTypeMark;

	public String getTradeSn() {
		return tradeSn;
	}

	public void setTradeSn(String tradeSn) {
		this.tradeSn = tradeSn;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getPayerBankAccountNo() {
		return payerBankAccountNo;
	}

	public void setPayerBankAccountNo(String payerBankAccountNo) {
		this.payerBankAccountNo = payerBankAccountNo;
	}

	public String getPayerBankType() {
		return payerBankType;
	}

	public void setPayerBankType(String payerBankType) {
		this.payerBankType = payerBankType;
	}

	public String getPayerBankAccountType() {
		return payerBankAccountType;
	}

	public void setPayerBankAccountType(String payerBankAccountType) {
		this.payerBankAccountType = payerBankAccountType;
	}

	public String getPayerBankAccountName() {
		return payerBankAccountName;
	}

	public void setPayerBankAccountName(String payerBankAccountName) {
		this.payerBankAccountName = payerBankAccountName;
	}

	public String getPayerBankName() {
		return payerBankName;
	}

	public void setPayerBankName(String payerBankName) {
		this.payerBankName = payerBankName;
	}

	public String getPayerPhone() {
		return payerPhone;
	}

	public void setPayerPhone(String payerPhone) {
		this.payerPhone = payerPhone;
	}

	public String getPayerCredentialType() {
		return payerCredentialType;
	}

	public void setPayerCredentialType(String payerCredentialType) {
		this.payerCredentialType = payerCredentialType;
	}

	public String getPayerCredentialNo() {
		return payerCredentialNo;
	}

	public void setPayerCredentialNo(String payerCredentialNo) {
		this.payerCredentialNo = payerCredentialNo;
	}

	public String getFirstPay() {
		return firstPay;
	}

	public void setFirstPay(String firstPay) {
		this.firstPay = firstPay;
	}

	public String getFastPayFlag() {
		return fastPayFlag;
	}

	public void setFastPayFlag(String fastPayFlag) {
		this.fastPayFlag = fastPayFlag;
	}

	public String getCardExprDt() {
		return cardExprDt;
	}

	public void setCardExprDt(String cardExprDt) {
		this.cardExprDt = cardExprDt;
	}

	public String getCvv() {
		return cvv;
	}

	public void setCvv(String cvv) {
		this.cvv = cvv;
	}

	public String getMccs() {
		return mccs;
	}

	public void setMccs(String mccs) {
		this.mccs = mccs;
	}

	public String getThirdMercId() {
		return thirdMercId;
	}

	public void setThirdMercId(String thirdMercId) {
		this.thirdMercId = thirdMercId;
	}

	public String getTradeTypeMark() {
		return tradeTypeMark;
	}

	public void setTradeTypeMark(String tradeTypeMark) {
		this.tradeTypeMark = tradeTypeMark;
	}

}
